package com.danciyixue.boot.dcyx.model.vo;

import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import java.time.LocalDateTime;

/**
 * 测试结果记录视图对象
 *
 * @author youlaitech
 * @since 2025-06-15 16:31
 */
@Getter
@Setter
@Schema( description = "测试结果记录视图对象")
public class TestRecordsVO implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    @Schema(description = "测试记录ID")
    private Long id;
    @Schema(description = "系列ID")
    private Long seriesId;
    @Schema(description = "教材ID")
    private Long programId;
    @Schema(description = "单元ID")
    private Long unitId;
    @Schema(description = "单元名称")
    private String unitName;
    @Schema(description = "用户ID")
    private Long userId;
    @Schema(description = "所属测试项ID")
    private Long testId;
    @Schema(description = "耗时（秒）")
    private Integer timeConsuming;
    @Schema(description = "得分")
    private Integer score;
    @Schema(description = "题数")
    private Integer questionNumber;
    @Schema(description = "备注")
    private String remark;
    @Schema(description = "测试类型")
    private Integer type;
    @Schema(description = "学习ID")
    private Long studyId;
    @Schema(description = "错误单词ID列表,逗号分隔")
    private String wrongWordIds;
    @Schema(description = "正确单词ID列表,逗号分隔")
    private String rightWordIds;
    @Schema(description = "未选择单词ID列表,逗号分隔")
    private String unchooseWordIds;
    @Schema(description = "错误单词拼写列表")
    private List<String> wrongWordSpellings;
    @Schema(description = "正确单词拼写列表")
    private List<String> rightWordSpellings;
    @Schema(description = "未选择单词拼写列表")
    private List<String> unchooseWordSpellings;
    @Schema(description = "状态")
    private Integer status;
    @Schema(description = "学生ID")
    private Long studentId;
    @Schema(description = "创建者")
    private Long createUser;
    @Schema(description = "更新者")
    private Long updateUser;
}
